﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class РазузлованиеНоменклатуры
	{
		// Выполняет расчет потребностей.
		//
		// Параметры:
		//   Источники - тип "ТаблицаЗначений" (нельзя использовать элемент коллекции).
		//     Колонки:
		//       - Номенклатура - необязательный в случае указания спецификации (если не указан, тогда выполняется разузлование спецификации).
		//       - ХарактеристикаНоменклатуры - необязательный.
		//       - СерияНоменклатуры - необязательный.
		//       - ЕдиницаИзмерения - необязательный (если не указан, тогда единица хранения остатков номенклатуры).
		//       - Коэффициент - необязательный (если не указан, тогда коэффициент единица измерения).
		//       - Количество - необязательный (если не указан, тогда 1).
		//       - Спецификация - необязательный в случае указания номенклатуры (если не указан, тогда основная спецификация номенклатуры).
		//
		//   Результат - тип "Структура"
		//     Свойства:
		//       - Потребности - необязательный (если не указан, тогда будет создан, так как расчет потребностей выполняется всегда).
		//       - ВозвратныеОтходы - необязательный (если не указан, тогда расчет возвратных отходов не выполняется).
		//
		//   Параметры - тип "Массив" или "Стуктура". Содержит массив структур параметров для каждой строки источника или структуры параметров для всех строк источника (необязательный).
		//     Свойства:
		//       - ПараметрыВыпуска - тип "Соответсвие" (ключ - имя параметра, значение - значение параметра). Необязательный.
		//       - ДатаСпецификации - дата, на которую будут получены основные спецификации номенклатуры. Необязательный. Значение по умолчанию - текущая дата.
		//       - Отбор - структура, свойства которой являются имена колонок результата разузлования, а значениями значения отбора (значение или массив значений).
		//       - РазмещатьВСопутствующихИзделиях - тип "Булево"
		//
		// Возвращаемое значение:
		//   Массив, содержащий структуры с содержанием ошибок, полученных в результате разлования.
		//    Свойства структуры:
		//      - СтатусОшибки
		//      - Причина
		//      - ОписаниеОшибки
		//      - Спецификация
		//      - НомерСтроки
		//      - Последовательность
		//
		// Значения, возвращаемые в структуру "Результат".
		//
		//   Таблица значений "Потребности"
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Количество
		//     - Спецификация
		//     - Материал
		//     - ХарактеристикаМатериала
		//     - КоличествоМатериала
		//     - ЕдиницаИзмеренияМатериала
		//     - СтатьяЗатрат
		//
		//   Таблица значений "ВозвратныеОтходы"
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Количество
		//     - Спецификация
		//     - Материал
		//     - ХарактеристикаМатериала
		//     - КоличествоМатериала
		//     - ЕдиницаИзмеренияМатериала
		//     - Сумма
		//     - СуммаРегл
		//     - СтатьяЗатрат
		//

		public object ПолучитьПотребность(/*Источники, Результат, Параметры = Неопределено*/)
		{
			//МассивОшибок = Новый Массив;
			//РезультатПотребности = Новый ТаблицаЗначений;
			//РезультатПотребности.Колонки.Добавить("ИндексСтрокиИсточника", Новый ОписаниеТипов("Число"));
			//РезультатПотребности.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//РезультатПотребности.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//РезультатПотребности.Колонки.Добавить("СерияНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
			//РезультатПотребности.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
			//РезультатПотребности.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//РезультатПотребности.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
			//РезультатПотребности.Колонки.Добавить("Материал", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//РезультатПотребности.Колонки.Добавить("ХарактеристикаМатериала", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//РезультатПотребности.Колонки.Добавить("КоличествоМатериала", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//РезультатПотребности.Колонки.Добавить("ЕдиницаИзмеренияМатериала", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
			//РезультатПотребности.Колонки.Добавить("СтатьяЗатрат", Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
			//РезультатВозвратныеОтходы = Новый ТаблицаЗначений;
			//РезультатВозвратныеОтходы.Колонки.Добавить("ИндексСтрокиИсточника", Новый ОписаниеТипов("Число"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("СерияНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//РезультатВозвратныеОтходы.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("Материал", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("ХарактеристикаМатериала", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("КоличествоМатериала", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//РезультатВозвратныеОтходы.Колонки.Добавить("ЕдиницаИзмеренияМатериала", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
			//РезультатВозвратныеОтходы.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//РезультатВозвратныеОтходы.Колонки.Добавить("СуммаРегл", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//РезультатВозвратныеОтходы.Колонки.Добавить("СтатьяЗатрат", Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
			//ПотребностиПоСпецификациям = Новый ТаблицаЗначений;
			//ПотребностиПоСпецификациям.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
			//ПотребностиПоСпецификациям.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//ПотребностиПоСпецификациям.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//ПотребностиПоСпецификациям.Колонки.Добавить("СерияНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
			//ПотребностиПоСпецификациям.Колонки.Добавить("Потребности");
			//ПотребностиПоСпецификациям.Колонки.Добавить("ВозвратныеОтходы");
			//ПотребностиПоСпецификациям.Колонки.Добавить("ДоляСтоимостиПоСпецификации");
			//ПотребностиПоНоменклатуре = Новый ТаблицаЗначений;
			//ПотребностиПоНоменклатуре.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//ПотребностиПоНоменклатуре.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//ПотребностиПоНоменклатуре.Колонки.Добавить("СерияНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
			//ПотребностиПоНоменклатуре.Колонки.Добавить("ДоляСтоимости");
			//ПотребностиПоНоменклатуре.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
			//ПотребностиПоНоменклатуре.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
			//ПотребностиПоНоменклатуре.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
			//Результат = Новый Структура("Потребности, ВозвратныеОтходы", РезультатПотребности, РезультатВозвратныеОтходы);
			return null;
		}
		// ПолучитьПотребность()
		// Выполняет разузлование номенклатуры или спецификации.
		//
		// Параметры:
		//   Источник - тип "Структура" (нельзя использовать элемент коллекции).
		//     Свойства:
		//       - Номенклатура - необязательный в случае указания спецификации (если не указан, тогда выполняется разузлование спецификации).
		//       - ХарактеристикаНоменклатуры - необязательный.
		//       - ЕдиницаИзмерения - необязательный (если не указан, тогда единица хранения остатков номенклатуры).
		//       - Коэффициент - необязательный (если не указан, тогда коэффициент единица измерения).
		//       - Количество - необязательный (если не указан, тогда 1).
		//       - Спецификация - необязательный в случае указания номенклатуры (если не указан, тогда основная спецификация номенклатуры).
		//
		//   Результат - тип "Структура"
		//     Свойства:
		//       - ПолноеРазузлование - необязательный (если не указан, тогда будет создан, так как полное разулование выполняется всегда).
		//       - ВыходныеИзделия - необязательный (если не указан, тогда расчет выходных изделий не выполняется).
		//       - ИсходныеКомплектующие - необязательный (если не указан, тогда расчет исходных комплектующих не выполняется).
		//       - ВозвратныеОтходы - необязательный (если не указан, тогда расчет возвратных отходов не выполняется).
		//       - СопутствующиеИзделия - необязательный (если не указан, тогда расчет сопутствующих изделий не выполняется).
		//
		//   Параметры - тип "Структура"
		//     Свойства:
		//       - ПараметрыВыпуска - тип "Соответсвие" (ключ - имя параметра, значение - значение параметра). Необязательный.
		//       - КоличествоУровнейРазузлования - тип "Число" (0 - полное разузлование, 1 - последний передел и т.д). Необязательный. Значение по умолчанию - 0.
		//       - ДатаСпецификации - дата, на которую будут получены основные спецификации номенклатуры. Необязательный. Значение по умолчанию - текущая дата.
		//       - Отбор - структура, свойства которой являются имена колонок результата разузлования, а значениями значения отбора (значение или массив значений).
		//       - РазмещатьВСопутствующихИзделиях - тип "Булево"
		//
		// Возвращаемое значение:
		//   Массив, содержащий структуры с содержанием ошибок, полученных в результате разлования.
		//     Свойства структуры:
		//       - СтатусОшибки
		//       - Причина
		//       - ОписаниеОшибки
		//       - Спецификация
		//       - НомерСтроки
		//       - Последовательность
		//
		// Значения, возвращаемые в структуру "Результат".
		//
		//   Таблица значений "ПолноеРазузлование"
		//     - Уровень
		//     - Разузлован
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Коэффициент
		//     - Количество
		//     - МинимальнаяПартия
		//     - Кратность
		//     - ДоляСтоимости
		//     - СтатьяЗатрат
		//     - ВидВоспроизводства
		//     - СписаниеКомплектующей
		//     - Спецификация
		//     - ТочкаМаршрута
		//     - Подразделение
		//     - РабочийЦентр
		//     - Последовательность
		//
		//   Таблица значений "ВыходныеИзделия"
		//     - Уровень
		//     - Разузлован
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Коэффициент
		//     - Количество
		//     - МинимальнаяПартия
		//     - Кратность
		//     - ДоляСтоимости
		//     - Спецификация
		//     - ТочкаМаршрута
		//     - Подразделение
		//     - РабочийЦентр
		//
		//   Таблица значений "ИсходныеКомплектующие"
		//     - Уровень
		//     - Разузлован
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Коэффициент
		//     - Количество
		//     - СтатьяЗатрат
		//     - МинимальнаяПартия
		//     - Кратность
		//     - ВидВоспроизводства
		//     - СписаниеКомплектующей
		//     - Спецификация
		//     - ТочкаМаршрута
		//     - Подразделение
		//     - РабочийЦентр
		//
		//   Таблица значений "ВозвратныеОтходы"
		//     - Уровень
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Коэффициент
		//     - Количество
		//     - Сумма
		//     - СуммаРегл
		//     - СтатьяЗатрат
		//     - СписаниеКомплектующей
		//     - ТочкаМаршрута
		//     - Подразделение
		//     - РабочийЦентр
		//
		//   Таблица значений "СопутствующиеИзделия"
		//     - Уровень
		//     - Разузлован
		//     - Номенклатура
		//     - ХарактеристикаНоменклатуры
		//     - ЕдиницаИзмерения
		//     - Коэффициент
		//     - Количество
		//     - МинимальнаяПартия
		//     - Кратность
		//     - ДоляСтоимости
		//     - Спецификация
		//     - ТочкаМаршрута
		//     - Подразделение
		//     - РабочийЦентр
		//     - ИсходноеКоличество
		//     - КоэффициентПриведения
		//
		//   - МаксимальныйУровень
		//

		public object РазузловатьНоменклатуру(/*Источник, Результат = Неопределено, Параметры = Неопределено*/)
		{
			//ИнициализацияПараметров(Параметры);
			//ИнициализацияРезультатаРазузлования(Результат, Параметры);
			//МассивОшибок = Новый Массив;
			//Уровень = 0;
			if(true/*Источник.Свойство("Номенклатура") И ТипЗнч(Источник.Номенклатура) = Тип("СправочникСсылка.Номенклатура") И НЕ Источник.Номенклатура.Пустая()*/)
			{
				/*// Исходная строка добавляется в результат разузлования
*/
				//НоваяСтрока = Результат.ПолноеРазузлование.Добавить();
				//НоваяСтрока.Уровень = Уровень;
				//НоваяСтрока.Разузлован = Ложь;
				//НоваяСтрока.НоменклатурнаяГруппа = Источник.Номенклатура.НоменклатурнаяГруппа;
				//НоваяСтрока.Номенклатура = Источник.Номенклатура;
				//НоваяСтрока.ХарактеристикаНоменклатуры = ?(Источник.Свойство("ХарактеристикаНоменклатуры"), Источник.ХарактеристикаНоменклатуры, Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());
				//НоваяСтрока.ЕдиницаИзмерения = ?(Источник.Свойство("ЕдиницаИзмерения"), Источник.ЕдиницаИзмерения, НоваяСтрока.Номенклатура.ЕдиницаХраненияОстатков);
				//НоваяСтрока.Коэффициент = ?(Источник.Свойство("Коэффициент"), Источник.Коэффициент, НоваяСтрока.ЕдиницаИзмерения.Коэффициент);
				//НоваяСтрока.Количество = ?(Источник.Свойство("Количество"), Источник.Количество, 1);
				//УстановитьВидВоспроизводства(НоваяСтрока);
				//НоваяСтрока.Спецификация = ПолучитьСпецификацию(Источник, Параметры);
				//УстановитьПараметрыВыходногоИзделия(НоваяСтрока);
				if(true/*НЕ ДобавитьСпецификациюВПоследовательность(НоваяСтрока.Спецификация, НоваяСтрока.Последовательность)*/)
				{
					//НоваяСтрока.Разузлован = Истина;
					//ДобавитьВОшибки(СтатусСообщения.ОченьВажное, НСтр("ru='Обнаружено зацикливание в структуре изделия.'"), НСтр("ru='Зацикливание'"), НоваяСтрока.Спецификация, Неопределено, НоваяСтрока.Последовательность, МассивОшибок);
				}
				//Параметры.Вставить("Спецификация", НоваяСтрока.Спецификация);
				//Параметры.Вставить("КоличествоВыпусков", ПолучитьКоличествоВыпусков(НоваяСтрока.Спецификация, НоваяСтрока.Номенклатура, НоваяСтрока.ХарактеристикаНоменклатуры, НоваяСтрока.Коэффициент, НоваяСтрока.Количество));
				//Параметры.Вставить("ДоляСтоимости", ПолучитьДолюСтоимости(НоваяСтрока.Спецификация, НоваяСтрока.Номенклатура, НоваяСтрока.ХарактеристикаНоменклатуры, НоваяСтрока.Коэффициент));
				//Результат.КоличествоВыпусков = Параметры.КоличествоВыпусков;
			}
			while(true/*Истина*/)
			{
				if(true/*Параметры.КоличествоУровнейРазузлования < 0*/)
				{
					/*// Разузлование не требуется
*/
				}
				/*// Получение позиций, требующих разузлования
*/
				//СтрокиТекущегоУровня = Результат.ПолноеРазузлование.НайтиСтроки(Новый Структура("Разузлован, Уровень", Ложь, Уровень));
				if(true/*СтрокиТекущегоУровня.Количество() = 0*/)
				{
					/*// Нет данных для разузлования
*/
				}
				//Уровень = Уровень + 1;
				//Результат.МаксимальныйУровень = Макс(Результат.МаксимальныйУровень, Уровень);
			}
			/*;
	
	ВыполнитьОтбор(Результат, Параметры);*/
			return null;
		}
		// РазузловатьНоменклатуру()

		public object ПолучитьТипКолонкиРабочийЦентр(/**/)
		{
			if(true/*Метаданные.Справочники.Найти("РабочиеЦентры") <> Неопределено*/)
			{
			}
			return null;
		}

		public object ДобавитьВПолноеРазулование(/*СтрокаСпецификации, ИсходнаяСтрока, КоличествоВыпусков, КоэффициентОсновногоСырья, Параметры, Уровень, Результат, МассивОшибок, ПоследовательностьУзлов = Неопределено*/)
		{
			//НоваяСтрока = Неопределено;
			if(true/*СтрокаСпецификации.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.Номенклатура*/)
			{
				//НоваяСтрока = Результат.ПолноеРазузлование.Добавить();
				//НоваяСтрока.Уровень = Уровень;
				//НоваяСтрока.НомерОперацииМаршрута = СтрокаСпецификации.НомерОперацииМаршрута;
				//НоваяСтрока.НоменклатурнаяГруппа = ИсходнаяСтрока.НоменклатурнаяГруппа;
				//НоваяСтрока.Номенклатура = СтрокаСпецификации.Номенклатура;
				//НоваяСтрока.ХарактеристикаНоменклатуры = СтрокаСпецификации.ХарактеристикаНоменклатуры;
				//НоваяСтрока.ЕдиницаИзмерения = СтрокаСпецификации.ЕдиницаИзмерения;
				//НоваяСтрока.Коэффициент = СтрокаСпецификации.Коэффициент;
				//НоваяСтрока.Количество = СтрокаСпецификации.Количество;
				//РассчитатьКоличествоПоФормуле(ИсходнаяСтрока, СтрокаСпецификации, НоваяСтрока, КоэффициентОсновногоСырья, Параметры.ПараметрыВыпуска, МассивОшибок);
				if(true/*СтрокаСпецификации.УказаниеНорматива = Перечисления.ВидыУказанияНорматива.НаКоличествоОсновногоСырья*/)
				{
					//НоваяСтрока.Количество = НоваяСтрока.Количество * КоэффициентОсновногоСырья;
				}
				//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаСпецификации, "МинимальнаяПартия, Кратность, СтатьяЗатрат, ВидВоспроизводства, Спецификация, СписаниеКомплектующей, ТочкаМаршрута, Подразделение, РабочийЦентр");
				//УстановитьВидВоспроизводства(НоваяСтрока);
				//НоваяСтрока.Спецификация = ПолучитьСпецификацию(НоваяСтрока, Параметры);
				//УстановитьРазузлован(НоваяСтрока);
				if(true/*НЕ ДобавитьСпецификациюВПоследовательность(НоваяСтрока.Спецификация, НоваяСтрока.Последовательность, ИсходнаяСтрока.Последовательность)*/)
				{
					//НоваяСтрока.Разузлован = Истина;
					//ДобавитьВОшибки(СтатусСообщения.ОченьВажное, НСтр("ru='Обнаружено зацикливание в структуре изделия.'"), НСтр("ru='Зацикливание'"), ИсходнаяСтрока.Спецификация, СтрокаСпецификации.НомерСтроки, НоваяСтрока.Последовательность, МассивОшибок);
				}
				//ОбновитьСопутствующиеИзделия(НоваяСтрока, ИсходнаяСтрока, Результат);
			}
			if(true/*НоваяСтрока <> Неопределено И Результат.Свойство("СопутствующиеИзделия")*/)
			{
				//НоваяСтрока.КоличествоОкругленное = НоваяСтрока.Количество;
			}
			//ДобавитьВИсходныеКомплектующие(Результат, НоваяСтрока, Параметры);
			if(true/*НоваяСтрока <> Неопределено И СтрокаСпецификации.ОсновноеСырье*/)
			{
				//КоэффициентОсновногоСырья = НоваяСтрока.Количество / ?(СтрокаСпецификации.Количество = 0, 1, СтрокаСпецификации.Количество);
			}
			return null;
		}
		// ДобавитьВПолноеРазулование()

		public void ДобавитьВВыходныеИзделия(/*Результат, ВыходныеИзделия, Параметры*/)
		{
			if(true/*НЕ Результат.Свойство("ВыходныеИзделия")*/)
			{
			}
			if(true/*ТипЗнч(ВыходныеИзделия) = Тип("Массив")*/)
			{
			}
		}
		// ДобавитьВВыходныеИзделия()

		public void ДобавитьВИсходныеКомплектующие(/*Результат, ИсходныеКомплектующие, Параметры*/)
		{
			if(true/*НЕ Результат.Свойство("ИсходныеКомплектующие")*/)
			{
			}
			if(true/*ТипЗнч(ИсходныеКомплектующие) = Тип("Массив")*/)
			{
			}
		}
		// ДобавитьВИсходныеКомплектующие()

		public void ДобавитьВВозвратныеОтходы(/*ВозвратныйОтход, ИсходнаяСтрока, КоличествоВыпусков, КоэффициентОсновногоСырья, ДоляСтоимости, Параметры, Уровень, Результат, МассивОшибок*/)
		{
			if(true/*НЕ Результат.Свойство("ВозвратныеОтходы")*/)
			{
			}
			if(true/*ВозвратныйОтход.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.Номенклатура*/)
			{
				//НоваяСтрока = Результат.ВозвратныеОтходы.Добавить();
				//НоваяСтрока.Уровень = Уровень;
				//НоваяСтрока.НомерОперацииМаршрута = ВозвратныйОтход.НомерОперацииМаршрута;
				//НоваяСтрока.НоменклатурнаяГруппа = ИсходнаяСтрока.НоменклатурнаяГруппа;
				//НоваяСтрока.Номенклатура = ВозвратныйОтход.Номенклатура;
				//НоваяСтрока.ХарактеристикаНоменклатуры = ВозвратныйОтход.ХарактеристикаНоменклатуры;
				//НоваяСтрока.ЕдиницаИзмерения = ВозвратныйОтход.ЕдиницаИзмерения;
				//НоваяСтрока.Коэффициент = ВозвратныйОтход.Коэффициент;
				//НоваяСтрока.Количество = ВозвратныйОтход.Количество;
				//ЗаполнитьЗначенияСвойств(НоваяСтрока, ВозвратныйОтход, "СтатьяЗатрат, СписаниеКомплектующей, ТочкаМаршрута, Подразделение, РабочийЦентр");
				//РассчитатьКоличествоПоФормуле(ИсходнаяСтрока, ВозвратныйОтход, НоваяСтрока, КоэффициентОсновногоСырья, Параметры.ПараметрыВыпуска, МассивОшибок);
				if(true/*ВозвратныйОтход.УказаниеНорматива = Перечисления.ВидыУказанияНорматива.НаКоличествоОсновногоСырья*/)
				{
					//НоваяСтрока.Количество = НоваяСтрока.Количество * КоэффициентОсновногоСырья;
				}
				//НоваяСтрока.Сумма = ВозвратныйОтход.Сумма * НоваяСтрока.Количество / ?(ВозвратныйОтход.Количество = 0, 1, ВозвратныйОтход.Количество);
				//НоваяСтрока.СуммаРегл = ВозвратныйОтход.СуммаРегл * НоваяСтрока.Количество / ?(ВозвратныйОтход.Количество = 0, 1, ВозвратныйОтход.Количество);
			}
		}
		// ДобавитьВВозвратныеОтходы()

		public void ДобавитьВСопутствующиеИзделия(/*Источник, Результат*/)
		{
			if(true/*НЕ Результат.Свойство("СопутствующиеИзделия")*/)
			{
			}
			/*// Получение выходных изделия по спецификации
*/
			//ВыходныеИзделия = ПолучитьВыходныеИзделия(Источник);
			while(true/*ВыходныеИзделия.Следующий()*/)
			{
				/*// Все строки выходных изделий переносятся в таблицу сопутствующих изделий, т.к. каждое выходное изделие может оказаться сопутствующим
*/
				//НоваяСтрока = Результат.СопутствующиеИзделия.Добавить();
				//ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыходныеИзделия);
				/*// Отдельно сохраняется исходное количество сопутствующих изделий для последующих расчетов
*/
				//НоваяСтрока.ИсходноеКоличество = ?(Результат.КоличествоВыпусков.Знаменатель = 0, 0, НоваяСтрока.Количество * Результат.КоличествоВыпусков.Числитель / Результат.КоличествоВыпусков.Знаменатель);
				/*// Начальное значение коэффициента приведения, означает что коэффициент еще не рассчитывался
*/
				//НоваяСтрока.КоэффициентПриведения = - 1;
				//НоваяСтрока.Спецификация = Источник.Спецификация;
			}
			//;;
		}
		// ДобавитьВСопутствующиеИзделия()

		public void ОбновитьСопутствующиеИзделия(/*НоваяСтрока, ИсходнаяСтрока, Результат*/)
		{
			if(true/*НЕ Результат.Свойство("СопутствующиеИзделия")*/)
			{
			}
			/*// Расчет количества комплектующей в соответствии с кратностью и минимальной партией ее потребления
*/
			//ПриведенноеКоличество = УправлениеПланированием.ПривестиКМинимальнойПартииКратности(НоваяСтрока.Количество, НоваяСтрока.МинимальнаяПартия, НоваяСтрока.Кратность);
			if(true/*НоваяСтрока.Количество = 0*/)
			{
				//КоэффициентПриведения = 0;
			}
			/*// Поиск сопутствующих изделия данной спецификации
*/
			//СтрокиСопутствующихИзделий = Результат.СопутствующиеИзделия.НайтиСтроки(Новый Структура("Спецификация", ИсходнаяСтрока.Спецификация));
			/*//Корректировка количества комплектующей
*/
			//НоваяСтрока.Количество = ?(НоваяСтрока.Количество = 0, 0, ПриведенноеКоличество);
		}
		// ОбновитьСопутствующиеИзделия()

		public object РазместитьВСопутствующихИзделиях(/*Источник, Параметры, Результат*/)
		{
			//НеразмещенноеКоличество = Источник.Количество;
			if(true/*НЕ Параметры.РазмещатьВСопутствующихИзделиях ИЛИ Результат.СопутствующиеИзделия.Количество() = 0 ИЛИ Источник.Количество <= 0*/)
			{
			}
			//СтрокиСопутствующихИзделий = Результат.СопутствующиеИзделия.НайтиСтроки(Новый Структура("Номенклатура, ХарактеристикаНоменклатуры", Источник.Номенклатура, Источник.ХарактеристикаНоменклатуры));
			return null;
		}
		//РазместитьВСопутствующихИзделиях

		public object ПолучитьВыходныеИзделия(/*Источник*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ВыходныеИзделия.НомерСтроки КАК НомерСтроки
	|ПОМЕСТИТЬ ОсновноеИзделие
	|ИЗ
	|	(ВЫБРАТЬ
	|		ВыходныеИзделияСХарактеристикой.НомерСтроки КАК НомерСтроки,
	|		1 КАК Приоритет
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияСХарактеристикой
	|	ГДЕ
	|		ВыходныеИзделияСХарактеристикой.Ссылка = &Спецификация
	|		И ВыходныеИзделияСХарактеристикой.Номенклатура = &Номенклатура
	|		И ВыходныеИзделияСХарактеристикой.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВыходныеИзделияБезХарактеристики.НомерСтроки,
	|		2
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияБезХарактеристики
	|	ГДЕ
	|		ВыходныеИзделияБезХарактеристики.Ссылка = &Спецификация
	|		И ВыходныеИзделияБезХарактеристики.Номенклатура = &Номенклатура
	|		И ВыходныеИзделияБезХарактеристики.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВыходныеИзделияБезХарактеристики.НомерСтроки,
	|		3
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияБезХарактеристики
	|	ГДЕ
	|		ВыходныеИзделияБезХарактеристики.Ссылка = &Спецификация
	|		И ВыходныеИзделияБезХарактеристики.Номенклатура = &Номенклатура) КАК ВыходныеИзделия
	|
	|УПОРЯДОЧИТЬ ПО
	|	ВыходныеИзделия.Приоритет,
	|	НомерСтроки
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	СпецификацииНоменклатурыВыходныеИзделия.Ссылка КАК Ссылка,
	|	СпецификацииНоменклатурыВыходныеИзделия.НомерСтроки КАК НомерСтроки,
	|	ВЫБОР
	|		КОГДА &Номенклатура = НЕОПРЕДЕЛЕНО
	|				И &ХарактеристикаНоменклатуры = НЕОПРЕДЕЛЕНО
	|			ТОГДА ВЫБОР
	|					КОГДА СпецификацииНоменклатурыВыходныеИзделия.НомерСтроки = 1
	|						ТОГДА ЛОЖЬ
	|					ИНАЧЕ ИСТИНА
	|				КОНЕЦ
	|		ИНАЧЕ ВЫБОР
	|				КОГДА ОсновноеИзделие.НомерСтроки ЕСТЬ NULL 
	|					ТОГДА ИСТИНА
	|				ИНАЧЕ ЛОЖЬ
	|			КОНЕЦ
	|	КОНЕЦ КАК СопутствующееИзделие,
	|	СпецификацииНоменклатурыВыходныеИзделия.НомерОперацииМаршрута КАК НомерОперацииМаршрута,
	|	СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	СпецификацииНоменклатурыВыходныеИзделия.Номенклатура КАК Номенклатура,
	|	ВЫБОР
	|		КОГДА ОсновноеИзделие.НомерСтроки ЕСТЬ НЕ NULL 
	|				И &ХарактеристикаНоменклатуры <> НЕОПРЕДЕЛЕНО
	|			ТОГДА &ХарактеристикаНоменклатуры
	|		ИНАЧЕ СпецификацииНоменклатурыВыходныеИзделия.ХарактеристикаНоменклатуры
	|	КОНЕЦ КАК ХарактеристикаНоменклатуры,
	|	СпецификацииНоменклатурыВыходныеИзделия.Количество КАК Количество,
	|	ВЫБОР
	|		КОГДА СпецификацииНоменклатурыВыходныеИзделия.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
	|			ТОГДА СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.ЕдиницаХраненияОстатков
	|		ИНАЧЕ СпецификацииНоменклатурыВыходныеИзделия.ЕдиницаИзмерения
	|	КОНЕЦ КАК ЕдиницаИзмерения,
	|	(ВЫБОР
	|		КОГДА СпецификацииНоменклатурыВыходныеИзделия.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
	|			ТОГДА СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.ЕдиницаХраненияОстатков
	|		ИНАЧЕ СпецификацииНоменклатурыВыходныеИзделия.ЕдиницаИзмерения
	|	КОНЕЦ).Коэффициент КАК Коэффициент,
	|	СпецификацииНоменклатурыВыходныеИзделия.МинимальнаяПартия КАК МинимальнаяПартия,
	|	СпецификацииНоменклатурыВыходныеИзделия.Кратность КАК Кратность,
	|	СпецификацииНоменклатурыВыходныеИзделия.ДоляСтоимости КАК ДоляСтоимости,
	|	СпецификацииНоменклатурыВыходныеИзделия.ТочкаМаршрута КАК ТочкаМаршрута,
	|	ЕСТЬNULL(СпецификацииНоменклатурыВыходныеИзделия.ТочкаМаршрута.Подразделение, ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК Подразделение,
	|	ЕСТЬNULL(СпецификацииНоменклатурыВыходныеИзделия.ТочкаМаршрута.РабочийЦентр, НЕОПРЕДЕЛЕНО) КАК РабочийЦентр
	|ИЗ
	|	Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
	|		ЛЕВОЕ СОЕДИНЕНИЕ ОсновноеИзделие КАК ОсновноеИзделие
	|		ПО СпецификацииНоменклатурыВыходныеИзделия.НомерСтроки = ОсновноеИзделие.НомерСтроки
	|ГДЕ
	|	СпецификацииНоменклатурыВыходныеИзделия.Ссылка = &Спецификация");*/
			if(true/*ТипЗнч(Источник) = Тип("СправочникСсылка.СпецификацииНоменклатуры")*/)
			{
				//Запрос.УстановитьПараметр("Спецификация", Источник);
				//Запрос.УстановитьПараметр("Номенклатура", Неопределено);
				//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", Неопределено);
			}
			return null;
		}
		// ПолучитьВыходныеИзделия()

		public object ПолучитьИсходныеКомплектующие(/*Спецификация, Источник, НаследуемыеСвойства = Неопределено*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ИсходныеКомплектующие.Ссылка КАК Ссылка,
	|	ИсходныеКомплектующие.НомерСтроки КАК НомерСтроки,
	|	ИсходныеКомплектующие.ВидНорматива КАК ВидНорматива,
	|	ЕСТЬNULL(&НомерОперацииМаршрута, ИсходныеКомплектующие.НомерОперацииМаршрута) КАК НомерОперацииМаршрута,
	|	ИсходныеКомплектующие.Номенклатура КАК Номенклатура,
	|	ИсходныеКомплектующие.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ИсходныеКомплектующие.Количество КАК Количество,
	|	ВЫБОР
	|		КОГДА ИсходныеКомплектующие.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
	|			ТОГДА ИсходныеКомплектующие.Номенклатура.ЕдиницаХраненияОстатков
	|		ИНАЧЕ ИсходныеКомплектующие.ЕдиницаИзмерения
	|	КОНЕЦ КАК ЕдиницаИзмерения,
	|	(ВЫБОР
	|		КОГДА ИсходныеКомплектующие.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
	|			ТОГДА ИсходныеКомплектующие.Номенклатура.ЕдиницаХраненияОстатков
	|		ИНАЧЕ ИсходныеКомплектующие.ЕдиницаИзмерения
	|	КОНЕЦ).Коэффициент КАК Коэффициент,
	|	ИсходныеКомплектующие.СтатьяЗатрат КАК СтатьяЗатрат,
	|	ИсходныеКомплектующие.МинимальнаяПартия КАК МинимальнаяПартия,
	|	ИсходныеКомплектующие.Кратность КАК Кратность,
	|	ИсходныеКомплектующие.ПозицияПоСпецификации КАК ПозицияПоСпецификации,
	|	ВЫБОР
	|		КОГДА ИсходныеКомплектующие.Ссылка.ИспользоватьВидВоспроизводства = ИСТИНА
	|			ТОГДА ИсходныеКомплектующие.ВидВоспроизводства
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО
	|	КОНЕЦ КАК ВидВоспроизводства,
	|	ВЫБОР
	|		КОГДА ИсходныеКомплектующие.Ссылка.ИспользоватьВидВоспроизводства = ИСТИНА
	|			ТОГДА ИсходныеКомплектующие.Спецификация
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО
	|	КОНЕЦ КАК Спецификация,
	|	ВЫБОР
	|		КОГДА ИсходныеКомплектующие.Ссылка.ИспользоватьУправлениеСписанием = ИСТИНА
	|			ТОГДА ВЫБОР
	|					КОГДА ИсходныеКомплектующие.СписаниеКомплектующей = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ЗадаетсяВСвойстве)
	|							ИЛИ ИсходныеКомплектующие.СписаниеКомплектующей = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ПустаяСсылка)
	|						ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.Всегда)
	|					ИНАЧЕ ИсходныеКомплектующие.СписаниеКомплектующей
	|				КОНЕЦ
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.Всегда)
	|	КОНЕЦ КАК СписаниеКомплектующей,
	|	ИсходныеКомплектующие.СвойствоДляСписания КАК СвойствоДляСписания,
	|	ВЫБОР
	|		КОГДА ИсходныеКомплектующие.Ссылка.ИспользоватьФормулы = ИСТИНА
	|			ТОГДА ИсходныеКомплектующие.Формула
	|		ИНАЧЕ """"
	|	КОНЕЦ КАК Формула,
	|	ВЫБОР
	|		КОГДА ИсходныеКомплектующие.Ссылка.ИспользоватьУказаниеНорматива = ИСТИНА
	|			ТОГДА ИсходныеКомплектующие.УказаниеНорматива
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО
	|	КОНЕЦ КАК УказаниеНорматива,
	|	ИсходныеКомплектующие.ОсновноеСырье КАК ОсновноеСырье,
	|	ИсходныеКомплектующие.ВариантАвтоподбора КАК ВариантАвтоподбора,
	|	ИсходныеКомплектующие.Свойство КАК Свойство,
	|	ИсходныеКомплектующие.КлючСвязи КАК КлючСвязи,
	|	ИсходныеКомплектующие.ТочкаМаршрута КАК ТочкаМаршрута,
	|	ЕСТЬNULL(ИсходныеКомплектующие.ТочкаМаршрута.Подразделение, ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК Подразделение,
	|	ЕСТЬNULL(ИсходныеКомплектующие.ТочкаМаршрута.РабочийЦентр, НЕОПРЕДЕЛЕНО) КАК РабочийЦентр
	|ИЗ
	|	Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК ИсходныеКомплектующие
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|		ПО (ЗначенияСвойствОбъектов.Объект = &ХарактеристикаНоменклатуры)
	|			И (ЗначенияСвойствОбъектов.Свойство = ИсходныеКомплектующие.СвойствоДляСписания)
	|ГДЕ
	|	ИсходныеКомплектующие.Ссылка = &Спецификация
	|	И (ИсходныеКомплектующие.Ссылка.ИспользоватьУправлениеСписанием = ЛОЖЬ
	|			ИЛИ ИсходныеКомплектующие.Ссылка.ИспользоватьУправлениеСписанием = ИСТИНА
	|				И ИсходныеКомплектующие.СписаниеКомплектующей <> ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ЗадаетсяВСвойстве)
	|			ИЛИ ИсходныеКомплектующие.Ссылка.ИспользоватьУправлениеСписанием = ИСТИНА
	|				И ИсходныеКомплектующие.СписаниеКомплектующей = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ЗадаетсяВСвойстве)
	|				И ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) = ИСТИНА)
	|
	|УПОРЯДОЧИТЬ ПО
	|	ОсновноеСырье УБЫВ");*/
			//Запрос.УстановитьПараметр("Спецификация", Спецификация);
			if(true/*ТипЗнч(Источник) = Тип("Структура")*/)
			{
				if(true/*Источник.Свойство("ХарактеристикаНоменклатуры")*/)
				{
					//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", Источник.ХарактеристикаНоменклатуры);
				}
			}
			if(true/*ТипЗнч(НаследуемыеСвойства) = Тип("Структура")*/)
			{
				if(true/*НаследуемыеСвойства.Свойство("НомерОперацииМаршрута")*/)
				{
					//Запрос.УстановитьПараметр("НомерОперацииМаршрута", НаследуемыеСвойства.НомерОперацииМаршрута);
				}
			}
			return null;
		}
		// ПолучитьИсходныеКомплектующие()

		public object ПолучитьВозвратныеОтходы(/*Спецификация, Источник*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ВозвратныеОтходы.Ссылка КАК Ссылка,
	|	ВозвратныеОтходы.НомерСтроки КАК НомерСтроки,
	|	ВозвратныеОтходы.ВидНорматива КАК ВидНорматива,
	|	ВозвратныеОтходы.НомерОперацииМаршрута КАК НомерОперацииМаршрута,
	|	ВозвратныеОтходы.Номенклатура КАК Номенклатура,
	|	ВозвратныеОтходы.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ВозвратныеОтходы.Количество КАК Количество,
	|	ВЫБОР
	|		КОГДА ВозвратныеОтходы.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
	|			ТОГДА ВозвратныеОтходы.Номенклатура.ЕдиницаХраненияОстатков
	|		ИНАЧЕ ВозвратныеОтходы.ЕдиницаИзмерения
	|	КОНЕЦ КАК ЕдиницаИзмерения,
	|	(ВЫБОР
	|		КОГДА ВозвратныеОтходы.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
	|			ТОГДА ВозвратныеОтходы.Номенклатура.ЕдиницаХраненияОстатков
	|		ИНАЧЕ ВозвратныеОтходы.ЕдиницаИзмерения
	|	КОНЕЦ).Коэффициент КАК Коэффициент,
	|	ВозвратныеОтходы.Сумма КАК Сумма,
	|	ВозвратныеОтходы.СуммаРегл КАК СуммаРегл,
	|	ВозвратныеОтходы.СтатьяЗатрат КАК СтатьяЗатрат,
	|	ВЫБОР
	|		КОГДА ВозвратныеОтходы.Ссылка.ИспользоватьУправлениеСписанием = ИСТИНА
	|			ТОГДА ВЫБОР
	|					КОГДА ВозвратныеОтходы.СписаниеКомплектующей = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ЗадаетсяВСвойстве)
	|							ИЛИ ВозвратныеОтходы.СписаниеКомплектующей = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ПустаяСсылка)
	|						ТОГДА ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.Всегда)
	|					ИНАЧЕ ВозвратныеОтходы.СписаниеКомплектующей
	|				КОНЕЦ
	|		ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.Всегда)
	|	КОНЕЦ КАК СписаниеКомплектующей,
	|	ВозвратныеОтходы.СвойствоДляСписания КАК СвойствоДляСписания,
	|	ВЫБОР
	|		КОГДА ВозвратныеОтходы.Ссылка.ИспользоватьФормулы = ИСТИНА
	|			ТОГДА ВозвратныеОтходы.Формула
	|		ИНАЧЕ """"
	|	КОНЕЦ КАК Формула,
	|	ВЫБОР
	|		КОГДА ВозвратныеОтходы.Ссылка.ИспользоватьУказаниеНорматива = ИСТИНА
	|			ТОГДА ВозвратныеОтходы.УказаниеНорматива
	|		ИНАЧЕ НЕОПРЕДЕЛЕНО
	|	КОНЕЦ КАК УказаниеНорматива,
	|	ВозвратныеОтходы.ВариантАвтоподбора КАК ВариантАвтоподбора,
	|	ВозвратныеОтходы.Свойство КАК Свойство,
	|	ВозвратныеОтходы.КлючСвязи КАК КлючСвязи,
	|	ВозвратныеОтходы.ТочкаМаршрута КАК ТочкаМаршрута,
	|	ЕСТЬNULL(ВозвратныеОтходы.ТочкаМаршрута.Подразделение, ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК Подразделение,
	|	ЕСТЬNULL(ВозвратныеОтходы.ТочкаМаршрута.РабочийЦентр, НЕОПРЕДЕЛЕНО) КАК РабочийЦентр
	|ИЗ
	|	Справочник.СпецификацииНоменклатуры.ВозвратныеОтходы КАК ВозвратныеОтходы
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|		ПО (ЗначенияСвойствОбъектов.Объект = &ХарактеристикаНоменклатуры)
	|			И (ЗначенияСвойствОбъектов.Свойство = ВозвратныеОтходы.СвойствоДляСписания)
	|ГДЕ
	|	ВозвратныеОтходы.Ссылка = &Спецификация
	|	И ВозвратныеОтходы.Ссылка.ИспользоватьВозвратныеОтходы = ИСТИНА
	|	И (ВозвратныеОтходы.Ссылка.ИспользоватьУправлениеСписанием = ЛОЖЬ
	|			ИЛИ ВозвратныеОтходы.Ссылка.ИспользоватьУправлениеСписанием = ИСТИНА
	|				И ВозвратныеОтходы.СписаниеКомплектующей <> ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ЗадаетсяВСвойстве)
	|			ИЛИ ВозвратныеОтходы.Ссылка.ИспользоватьУправлениеСписанием = ИСТИНА
	|				И ВозвратныеОтходы.СписаниеКомплектующей = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияКомплектующих.ЗадаетсяВСвойстве)
	|				И ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) = ИСТИНА)
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки");*/
			//Запрос.УстановитьПараметр("Спецификация", Спецификация);
			if(true/*Источник.Свойство("ХарактеристикаНоменклатуры")*/)
			{
				//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", Источник.ХарактеристикаНоменклатуры);
			}
			return null;
		}
		// ПолучитьВозвратныеОтходы()

		public object АвтоподборНоменклатурыИзСвойства(/*ИсходнаяСтрока, СтрокаСпецификации, НоваяСтрока, МассивОшибок*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	ЗначенияСвойствОбъектов.Значение КАК Номенклатура,
	|	ЗначенияСвойствОбъектов.Значение.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
	|	ЗначенияСвойствОбъектов.Значение.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент
	|ИЗ
	|	РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|ГДЕ
	|	ЗначенияСвойствОбъектов.Объект = &Объект
	|	И ЗначенияСвойствОбъектов.Свойство = &Свойство
	|
	|УПОРЯДОЧИТЬ ПО
	|	Номенклатура");*/
			//Запрос.УстановитьПараметр("Объект", ИсходнаяСтрока.ХарактеристикаНоменклатуры);
			//Запрос.УстановитьПараметр("Свойство", СтрокаСпецификации.Свойство);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*НЕ РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				//Выборка.Следующий();
				if(true/*ТипЗнч(Выборка.Номенклатура) = Тип("СправочникСсылка.Номенклатура")*/)
				{
					//НоваяСтрока.Номенклатура = Выборка.Номенклатура;
					//НоваяСтрока.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
					//НоваяСтрока.Коэффициент = Выборка.Коэффициент;
				}
			}
			return null;
		}
		// АвтоподборНоменклатурыИзСвойства()

		public object АвтоподборНоменклатурыДляСвойства(/*ИсходнаяСтрока, СтрокаСпецификации, НоваяСтрока, МассивОшибок, ВозвратныйОтход = Ложь*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	СпецификацииНоменклатурыАвтоподборНоменклатуры.НомерСтроки КАК НомерСтроки,
	|	СпецификацииНоменклатурыАвтоподборНоменклатуры.Номенклатура КАК Номенклатура,
	|	СпецификацииНоменклатурыАвтоподборНоменклатуры.Количество КАК Количество,
	|	СпецификацииНоменклатурыАвтоподборНоменклатуры.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	|	СпецификацииНоменклатурыАвтоподборНоменклатуры.ЕдиницаИзмерения.Коэффициент КАК Коэффициент
	|ИЗ
	|	РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.АвтоподборНоменклатуры" + ?(ВозвратныйОтход, "Отходы", "") + " КАК СпецификацииНоменклатурыАвтоподборНоменклатуры
	|		ПО ЗначенияСвойствОбъектов.Значение = СпецификацииНоменклатурыАвтоподборНоменклатуры.Значение
	|ГДЕ
	|	ЗначенияСвойствОбъектов.Объект = &Объект
	|	И ЗначенияСвойствОбъектов.Свойство = &Свойство
	|	И СпецификацииНоменклатурыАвтоподборНоменклатуры.Ссылка = &Спецификация
	|	И СпецификацииНоменклатурыАвтоподборНоменклатуры.КлючСвязи = &КлючСвязи
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки");*/
			//Запрос.УстановитьПараметр("Объект", ИсходнаяСтрока.ХарактеристикаНоменклатуры);
			//Запрос.УстановитьПараметр("Свойство", СтрокаСпецификации.Свойство);
			//Запрос.УстановитьПараметр("Спецификация", СтрокаСпецификации.Ссылка);
			//Запрос.УстановитьПараметр("КлючСвязи", СтрокаСпецификации.КлючСвязи);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*НЕ РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				//Выборка.Следующий();
				if(true/*ТипЗнч(Выборка.Номенклатура) = Тип("СправочникСсылка.Номенклатура")*/)
				{
					//НоваяСтрока.Номенклатура = Выборка.Номенклатура;
					//НоваяСтрока.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
					//НоваяСтрока.Коэффициент = Выборка.Коэффициент;
					//НоваяСтрока.Количество = ?(Выборка.Количество = 0, СтрокаСпецификации.Количество, Выборка.Количество);
				}
			}
			return null;
		}
		// АвтоподборНоменклатурыДляСвойства()

		public object АвтоподборХарактеристики(/*ИсходнаяСтрока, СтрокаСпецификации, НоваяСтрока, МассивОшибок, ВозвратныйОтход = Ложь*/)
		{
			if(true/*СтрокаСпецификации.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.АвтоподборНоменклатуры*/)
			{
				if(true/*СтрокаСпецификации.Ссылка["АвтоподборХарактеристики" + ?(ВозвратныйОтход, "Отходы", "")].Найти(СтрокаСпецификации.КлючСвязи, "КлючСвязи") = Неопределено*/)
				{
				}
			}
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	МАКСИМУМ(ВложенныйЗапрос.КоличествоСовпавшихСвойст) КАК КоличествоСовпавшихСвойст,
	|	ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
	|ИЗ
	|	(ВЫБРАТЬ
	|		ПодбираемыеХарактеристики.Ссылка КАК ХарактеристикаНоменклатуры,
	|		КОЛИЧЕСТВО(СпецификацииНоменклатурыАвтоподборХарактеристики.Свойство) КАК КоличествоСовпавшихСвойст
	|	ИЗ
	|		Справочник.ХарактеристикиНоменклатуры КАК ПодбираемыеХарактеристики
	|			ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.АвтоподборХарактеристики" + ?(ВозвратныйОтход, "Отходы", "") + " КАК СпецификацииНоменклатурыАвтоподборХарактеристики
	|			ПО (СпецификацииНоменклатурыАвтоподборХарактеристики.Ссылка = &Спецификация)
	|				И (СпецификацииНоменклатурыАвтоподборХарактеристики.КлючСвязи = &КлючСвязи)
	|			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовИсходнаяХарактеристика
	|			ПО (ЗначенияСвойствОбъектовИсходнаяХарактеристика.Объект = &Объект)
	|				И (СпецификацииНоменклатурыАвтоподборХарактеристики.Свойство = ЗначенияСвойствОбъектовИсходнаяХарактеристика.Свойство)
	|			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектовПодбираемаяХарактеристика
	|			ПО (ЗначенияСвойствОбъектовПодбираемаяХарактеристика.Объект = ПодбираемыеХарактеристики.Ссылка)
	|				И (СпецификацииНоменклатурыАвтоподборХарактеристики.Свойство = ЗначенияСвойствОбъектовПодбираемаяХарактеристика.Свойство)
	|	ГДЕ
	|		ПодбираемыеХарактеристики.Владелец = &Владелец
	|		И ЕСТЬNULL(ЗначенияСвойствОбъектовИсходнаяХарактеристика.Значение, НЕОПРЕДЕЛЕНО) = ЕСТЬNULL(ЗначенияСвойствОбъектовПодбираемаяХарактеристика.Значение, НЕОПРЕДЕЛЕНО)
	|	
	|	СГРУППИРОВАТЬ ПО
	|		ПодбираемыеХарактеристики.Ссылка) КАК ВложенныйЗапрос
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.АвтоподборХарактеристики" + ?(ВозвратныйОтход, "Отходы", "") + " КАК СпецификацииНоменклатурыАвтоподборХарактеристики
	|		ПО (СпецификацииНоменклатурыАвтоподборХарактеристики.Ссылка = &Спецификация)
	|			И (СпецификацииНоменклатурыАвтоподборХарактеристики.КлючСвязи = &КлючСвязи)
	|
	|СГРУППИРОВАТЬ ПО
	|	ВложенныйЗапрос.ХарактеристикаНоменклатуры
	|
	|ИМЕЮЩИЕ
	|	МАКСИМУМ(ВложенныйЗапрос.КоличествоСовпавшихСвойст) = КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СпецификацииНоменклатурыАвтоподборХарактеристики.Свойство)
	|
	|УПОРЯДОЧИТЬ ПО
	|	КоличествоСовпавшихСвойст УБЫВ");*/
			//Запрос.УстановитьПараметр("Объект", ИсходнаяСтрока.ХарактеристикаНоменклатуры);
			//Запрос.УстановитьПараметр("Владелец", НоваяСтрока.Номенклатура);
			//Запрос.УстановитьПараметр("Спецификация", СтрокаСпецификации.Ссылка);
			//Запрос.УстановитьПараметр("КлючСвязи", СтрокаСпецификации.КлючСвязи);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*НЕ РезультатЗапроса.Пустой()*/)
			{
				//Выборка = РезультатЗапроса.Выбрать();
				//Выборка.Следующий();
				if(true/*ТипЗнч(Выборка.ХарактеристикаНоменклатуры) = Тип("СправочникСсылка.ХарактеристикиНоменклатуры")*/)
				{
					//НоваяСтрока.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры;
				}
			}
			return null;
		}
		// АвтоподборХарактеристики()

		public object РассчитатьКоличествоПоФормуле(/*ИсходнаяСтрока, СтрокаСпецификации, НоваяСтрока, КоэффициентОсновногоСырья, ПараметрыВыпуска, МассивОшибок*/)
		{
			if(true/*ПустаяСтрока(СтрокаСпецификации.Формула)*/)
			{
			}
			if(true/*ПараметрыВыпуска = Неопределено*/)
			{
				//ПараметрыВыпуска = Новый Соответствие;
			}
			//Формула = СтрокаСпецификации.Формула;
			//ФормулаДляРазбора = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрокаСпецификации.Формула, "[", Символы.ПС + "["), "]", "]" + Символы.ПС), "{", Символы.ПС + "{"), "}", "}" + Символы.ПС);
			//СтруктураПараметров = Новый Структура;
			//СоответствиеПараметров = Новый Соответствие;
			//МассивПараметров = Новый Массив;
			//МассивСвойств = Новый Массив;
			if(true/*МассивПараметров.Количество() > 0*/)
			{
				/*Запрос = Новый Запрос(
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ПараметрыВыпускаПродукции.ВидПараметра.Наименование КАК Наименование,
		|	ПараметрыВыпускаПродукции.Значение КАК Значение
		|ИЗ
		|	Справочник.СпецификацииНоменклатуры.ПараметрыВыпускаПродукции КАК ПараметрыВыпускаПродукции
		|ГДЕ
		|	ПараметрыВыпускаПродукции.Ссылка = &Спецификация
		|	И ПараметрыВыпускаПродукции.ВидПараметра.Наименование В(&МассивПараметров)
		|
		|УПОРЯДОЧИТЬ ПО
		|	Наименование,
		|	Значение");*/
				//Запрос.УстановитьПараметр("Спецификация", ?(СтрокаСпецификации.Ссылка.ВидСпецификации = Перечисления.ВидыСпецификаций.Узел, ИсходнаяСтрока.Спецификация, СтрокаСпецификации.Ссылка));
				//Запрос.УстановитьПараметр("МассивПараметров", МассивПараметров);
				//РезультатЗапроса = Запрос.Выполнить();
				if(true/*НЕ РезультатЗапроса.Пустой()*/)
				{
					//Выборка = РезультатЗапроса.Выбрать();
					while(true/*Выборка.Следующий()*/)
					{
						if(true/*НЕ СтруктураПараметров.Свойство(СоответствиеПараметров["[" + Выборка.Наименование + "]"])*/)
						{
							if(true/*ПараметрыВыпуска[Выборка.Наименование] = Неопределено*/)
							{
								//СтруктураПараметров.Вставить(СоответствиеПараметров["[" + Выборка.Наименование + "]"], Выборка.Значение);
							}
						}
					}
					//;;
				}
			}
			if(true/*МассивСвойств.Количество() > 0*/)
			{
				/*Запрос = Новый Запрос(
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ЗначенияСвойствОбъектов.Свойство.Наименование КАК Наименование,
		|	ЗначенияСвойствОбъектов.Значение КАК Значение
		|ИЗ
		|	РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
		|ГДЕ
		|	ЗначенияСвойствОбъектов.Объект = &Объект
		|	И ЗначенияСвойствОбъектов.Свойство.Наименование В(&МассивСвойств)
		|
		|УПОРЯДОЧИТЬ ПО
		|	Наименование,
		|	Значение");*/
				//Запрос.УстановитьПараметр("Объект", ИсходнаяСтрока.ХарактеристикаНоменклатуры);
				//Запрос.УстановитьПараметр("МассивСвойств", МассивСвойств);
				//РезультатЗапроса = Запрос.Выполнить();
				if(true/*НЕ РезультатЗапроса.Пустой()*/)
				{
					//Выборка = РезультатЗапроса.Выбрать();
					while(true/*Выборка.Следующий()*/)
					{
						if(true/*НЕ СтруктураПараметров.Свойство(СоответствиеПараметров["{" + Выборка.Наименование + "}"])*/)
						{
							//СтруктураПараметров.Вставить(СоответствиеПараметров["{" + Выборка.Наименование + "}"], Выборка.Значение);
						}
					}
					//;;
				}
			}
			return null;
		}
		// РассчитатьКоличествоПоФормуле()

		public object ПолучитьСпецификацию(/*ИсходнаяСтрока, Параметры*/)
		{
			if(true/*ВидВоспроизводства <> Перечисления.ВидыВоспроизводстваНоменклатуры.Производство И ВидВоспроизводства <> Перечисления.ВидыВоспроизводстваНоменклатуры.Переработка*/)
			{
			}
			if(true/*Спецификация = Неопределено*/)
			{
				//Спецификация = УправлениеПроизводством.ОпределитьСпецификациюПоУмолчанию(ИсходнаяСтрока.Номенклатура, ИсходнаяСтрока.ХарактеристикаНоменклатуры, Параметры.ДатаСпецификации, Подразделение);
			}
			return null;
		}
		// ПолучитьСпецификацию()

		public void УстановитьПараметрыВыходногоИзделия(/*НоваяСтрока*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	ВыходныеИзделия.НомерОперацииМаршрута КАК НомерОперацииМаршрута,
	|	ВыходныеИзделия.МинимальнаяПартия КАК МинимальнаяПартия,
	|	ВыходныеИзделия.Кратность КАК Кратность,
	|	ВыходныеИзделия.ТочкаМаршрута КАК ТочкаМаршрута,
	|	ВыходныеИзделия.Подразделение КАК Подразделение,
	|	ВыходныеИзделия.РабочийЦентр КАК РабочийЦентр,
	|	ВыходныеИзделия.Приоритет КАК Приоритет
	|ИЗ
	|	(ВЫБРАТЬ
	|		ВыходныеИзделия.НомерСтроки КАК НомерСтроки,
	|		ВыходныеИзделия.НомерОперацииМаршрута КАК НомерОперацииМаршрута,
	|		ВыходныеИзделия.МинимальнаяПартия КАК МинимальнаяПартия,
	|		ВыходныеИзделия.Кратность КАК Кратность,
	|		ВыходныеИзделия.ТочкаМаршрута КАК ТочкаМаршрута,
	|		ВыходныеИзделия.ТочкаМаршрута.Подразделение КАК Подразделение,
	|		ВыходныеИзделия.ТочкаМаршрута.РабочийЦентр КАК РабочийЦентр,
	|		1 КАК Приоритет
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделия
	|	ГДЕ
	|		ВыходныеИзделия.Номенклатура = &Номенклатура
	|		И ВыходныеИзделия.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
	|		И ВыходныеИзделия.Ссылка = &Спецификация
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		ВыходныеИзделия.НомерСтроки,
	|		ВыходныеИзделия.НомерОперацииМаршрута,
	|		ВыходныеИзделия.МинимальнаяПартия,
	|		ВыходныеИзделия.Кратность,
	|		ВыходныеИзделия.ТочкаМаршрута,
	|		ВыходныеИзделия.ТочкаМаршрута.Подразделение,
	|		ВыходныеИзделия.ТочкаМаршрута.РабочийЦентр,
	|		2
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделия
	|	ГДЕ
	|		ВыходныеИзделия.Номенклатура = &Номенклатура
	|		И ВыходныеИзделия.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
	|		И ВыходныеИзделия.Ссылка = &Спецификация) КАК ВыходныеИзделия
	|
	|УПОРЯДОЧИТЬ ПО
	|	Приоритет,
	|	ВыходныеИзделия.НомерСтроки");*/
			//Запрос.УстановитьПараметр("Спецификация", НоваяСтрока.Спецификация);
			//Запрос.УстановитьПараметр("Номенклатура", НоваяСтрока.Номенклатура);
			//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", ?(ЗначениеЗаполнено(НоваяСтрока.ХарактеристикаНоменклатуры), НоваяСтрока.ХарактеристикаНоменклатуры, Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()));
			//Результат = Запрос.Выполнить();
			if(true/*Результат.Пустой()*/)
			{
				//НоваяСтрока.НомерОперацииМаршрута = "";
				//НоваяСтрока.МинимальнаяПартия = 0;
				//НоваяСтрока.Кратность = 0;
				//НоваяСтрока.ТочкаМаршрута = Справочники.ТочкиМаршрута.ПустаяСсылка();
				//НоваяСтрока.Подразделение = НоваяСтрока.ТочкаМаршрута.Подразделение;
				//НоваяСтрока.РабочийЦентр = НоваяСтрока.ТочкаМаршрута.РабочийЦентр;
			}
		}
		// УстановитьПараметрыВыходногоИзделия()

		public object ПолучитьКоличествоВыпусков(/*Спецификация, Номенклатура, ХарактеристикаНоменклатуры, Коэффициент, Количество*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	ВыходныеИзделия.Количество / &Коэффициент КАК Количество
	|ИЗ
	|	(ВЫБРАТЬ
	|		1 КАК Приоритет,
	|		ВыходныеИзделияСХарактеристикой.НомерСтроки КАК НомерСтроки,
	|		ВыходныеИзделияСХарактеристикой.Количество * ЕСТЬNULL(ВыходныеИзделияСХарактеристикой.ЕдиницаИзмерения.Коэффициент, 1) КАК Количество
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияСХарактеристикой
	|	ГДЕ
	|		ВыходныеИзделияСХарактеристикой.Ссылка = &Спецификация
	|		И ВыходныеИзделияСХарактеристикой.Номенклатура = &Номенклатура
	|		И ВыходныеИзделияСХарактеристикой.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
	|		И ВыходныеИзделияСХарактеристикой.Количество > 0
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		2,
	|		ВыходныеИзделияБезХарактеристики.НомерСтроки,
	|		ВыходныеИзделияБезХарактеристики.Количество * ЕСТЬNULL(ВыходныеИзделияБезХарактеристики.ЕдиницаИзмерения.Коэффициент, 1)
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияБезХарактеристики
	|	ГДЕ
	|		ВыходныеИзделияБезХарактеристики.Ссылка = &Спецификация
	|		И ВыходныеИзделияБезХарактеристики.Номенклатура = &Номенклатура
	|		И ВыходныеИзделияБезХарактеристики.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
	|		И ВыходныеИзделияБезХарактеристики.Количество > 0
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		3,
	|		1,
	|		1) КАК ВыходныеИзделия
	|
	|УПОРЯДОЧИТЬ ПО
	|	ВыходныеИзделия.Приоритет,
	|	ВыходныеИзделия.НомерСтроки");*/
			//Запрос.УстановитьПараметр("Спецификация", Спецификация);
			//Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
			//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", ?(ЗначениеЗаполнено(ХарактеристикаНоменклатуры), ХарактеристикаНоменклатуры, Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()));
			//Запрос.УстановитьПараметр("Коэффициент", ?(Коэффициент = 0, 1, Коэффициент));
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			return null;
		}
		// ПолучитьКоличествоВыпусков()

		public object ПолучитьДолюСтоимости(/*Спецификация, Номенклатура, ХарактеристикаНоменклатуры, Коэффициент*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	ВыходныеИзделия.ДоляСтоимости / &Коэффициент КАК ДоляСтоимости,
	|	ЕСТЬNULL(ДоляСтоимостиВсехВыходныхИзделийПоСпецификации.ДоляСтоимости, 0) КАК ДоляСтоимостиВсехВыходныхИзделий
	|ИЗ
	|	(ВЫБРАТЬ
	|		1 КАК Приоритет,
	|		ВыходныеИзделияСХарактеристикой.НомерСтроки КАК НомерСтроки,
	|		ВыходныеИзделияСХарактеристикой.ДоляСтоимости * ЕСТЬNULL(ВыходныеИзделияСХарактеристикой.ЕдиницаИзмерения.Коэффициент, 1) КАК ДоляСтоимости
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияСХарактеристикой
	|	ГДЕ
	|		ВыходныеИзделияСХарактеристикой.Номенклатура = &Номенклатура
	|		И ВыходныеИзделияСХарактеристикой.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
	|		И ВыходныеИзделияСХарактеристикой.Ссылка = &Спецификация
	|		И ВыходныеИзделияСХарактеристикой.Количество > 0
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		2,
	|		ВыходныеИзделияБезХарактеристики.НомерСтроки,
	|		ВыходныеИзделияБезХарактеристики.ДоляСтоимости * ЕСТЬNULL(ВыходныеИзделияБезХарактеристики.ЕдиницаИзмерения.Коэффициент, 1)
	|	ИЗ
	|		Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияБезХарактеристики
	|	ГДЕ
	|		ВыходныеИзделияБезХарактеристики.Номенклатура = &Номенклатура
	|		И ВыходныеИзделияБезХарактеристики.Ссылка = &Спецификация
	|		И ВыходныеИзделияБезХарактеристики.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
	|		И ВыходныеИзделияБезХарактеристики.Количество > 0
	|	
	|	ОБЪЕДИНИТЬ ВСЕ
	|	
	|	ВЫБРАТЬ
	|		3,
	|		1,
	|		0) КАК ВыходныеИзделия
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			СУММА(ВыходныеИзделия.ДоляСтоимости) КАК ДоляСтоимости
	|		ИЗ
	|			Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделия
	|		ГДЕ
	|			ВыходныеИзделия.Ссылка = &Спецификация
	|			И ВыходныеИзделия.Количество > 0) КАК ДоляСтоимостиВсехВыходныхИзделийПоСпецификации
	|		ПО (ИСТИНА)
	|
	|УПОРЯДОЧИТЬ ПО
	|	ВыходныеИзделия.Приоритет,
	|	ВыходныеИзделия.НомерСтроки");*/
			//Запрос.УстановитьПараметр("Спецификация", Спецификация);
			//Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
			//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", ХарактеристикаНоменклатуры);
			//Запрос.УстановитьПараметр("Коэффициент", ?(Коэффициент = 0, 1, Коэффициент));
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			//Возврат УправлениеПланированием.ПолучитьДробь(?(Выборка.ДоляСтоимостиВсехВыходныхИзделий = 0, 0, Выборка.ДоляСтоимости), ?(Выборка.ДоляСтоимостиВсехВыходныхИзделий = 0, 1, Выборка.ДоляСтоимостиВсехВыходныхИзделий));
			return null;
		}
		// ПолучитьДолюСтоимости()

		public object ДобавитьСпецификациюВПоследовательность(/*Спецификация, Последовательность, ПредыдущаяПоследовательность = Неопределено*/)
		{
			if(true/*Спецификация = Неопределено ИЛИ (ТипЗнч(Спецификация) = Тип("СправочникСсылка.СпецификацииНоменклатуры") И Спецификация.Пустая())*/)
			{
			}
			if(true/*ТипЗнч(Последовательность) <> Тип("Массив")*/)
			{
				//Последовательность = Новый Массив;
			}
			if(true/*ПредыдущаяПоследовательность <> Неопределено*/)
			{
			}
			if(true/*Последовательность.Найти(Спецификация) <> Неопределено*/)
			{
			}
			if(true/*ТипЗнч(Спецификация) = Тип("Массив")*/)
			{
			}
			return null;
		}
		// ДобавитьСпецификациюВПоследовательность()

		public void УстановитьВидВоспроизводства(/*НоваяСтрока*/)
		{
			if(true/*НоваяСтрока.ВидВоспроизводства = Неопределено ИЛИ НоваяСтрока.ВидВоспроизводства.Пустая()*/)
			{
				if(true/*НоваяСтрока.Номенклатура.ВидВоспроизводства.Пустая()*/)
				{
					//НоваяСтрока.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Закупка;
				}
			}
		}
		// УстановитьВидВоспроизводства()

		public void УстановитьРазузлован(/*НоваяСтрока*/)
		{
			if(true/*НоваяСтрока.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Производство ИЛИ НоваяСтрока.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Переработка*/)
			{
				//НоваяСтрока.Разузлован = Ложь;
			}
		}
		// УстановитьРазузлован()

		public void ВыполнитьОтбор(/*Результат, Параметры*/)
		{
			if(true/*ТипЗнч(Параметры.Отбор) <> Тип("Структура") ИЛИ Параметры.Отбор.Количество() = 0*/)
			{
			}
			if(true/*Результат.Свойство("ПолноеРазузлование")*/)
			{
				//МассивУдаляемыхСтрок = Новый Массив;
			}
			if(true/*Результат.Свойство("ВыходныеИзделия")*/)
			{
				//МассивУдаляемыхСтрок = Новый Массив;
			}
			if(true/*Результат.Свойство("ИсходныеКомплектующие")*/)
			{
				//МассивУдаляемыхСтрок = Новый Массив;
			}
			if(true/*Результат.Свойство("ВозвратныеОтходы")*/)
			{
				//МассивУдаляемыхСтрок = Новый Массив;
			}
		}
		// ВыполнитьОтбор()

		public object СоответствуетОтбору(/*ТаблицаИсточник, ПроверяемаяСтрока, Отбор*/)
		{
			return null;
		}
		// СоответствуетОтбору()

		public void ИнициализацияРезультатаРазузлования(/*Результат, Параметры*/)
		{
			if(true/*Результат = Неопределено*/)
			{
				//Результат = Новый Структура("ПолноеРазузлование");
			}
			if(true/*НЕ Результат.Свойство("МаксимальныйУровень")*/)
			{
				//Результат.Вставить("МаксимальныйУровень", 0);
			}
			if(true/*НЕ Результат.Свойство("КоличествоВыпусков")*/)
			{
				//Результат.Вставить("КоличествоВыпусков", 0);
			}
			if(true/*Результат.Свойство("ПолноеРазузлование") И Результат.ПолноеРазузлование = Неопределено*/)
			{
				//Результат.ПолноеРазузлование = Новый ТаблицаЗначений;
				//Результат.ПолноеРазузлование.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Разузлован", Новый ОписаниеТипов("Булево"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("СопутствующееИзделие", Новый ОписаниеТипов("Булево"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("НомерОперацииМаршрута", Новый ОписаниеТипов("Строка"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Коэффициент", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 3)));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ПолноеРазузлование.Колонки.Добавить("МинимальнаяПартия", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Кратность", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ПолноеРазузлование.Колонки.Добавить("ДоляСтоимости", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
				//Результат.ПолноеРазузлование.Колонки.Добавить("СтатьяЗатрат", Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("ВидВоспроизводства", Новый ОписаниеТипов("ПеречислениеСсылка.ВидыВоспроизводстваНоменклатуры"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("СписаниеКомплектующей", Новый ОписаниеТипов("ПеречислениеСсылка.ВариантыСписанияКомплектующих"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("ТочкаМаршрута", Новый ОписаниеТипов("СправочникСсылка.ТочкиМаршрута"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
				//Результат.ПолноеРазузлование.Колонки.Добавить("РабочийЦентр", ПолучитьТипКолонкиРабочийЦентр());
				//Результат.ПолноеРазузлование.Колонки.Добавить("Последовательность");
				if(true/*Результат.Свойство("СопутствующиеИзделия") ИЛИ Параметры.РазмещатьВСопутствующихИзделиях*/)
				{
					//Результат.ПолноеРазузлование.Колонки.Добавить("КоличествоТочное", Новый ОписаниеТипов("Число"));
				}
			}
			if(true/*Результат.Свойство("ВыходныеИзделия") И Результат.ВыходныеИзделия = Неопределено*/)
			{
				//Результат.ВыходныеИзделия = Новый ТаблицаЗначений;
				//Результат.ВыходныеИзделия.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Разузлован", Новый ОписаниеТипов("Булево"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("СопутствующееИзделие", Новый ОписаниеТипов("Булево"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("НомерОперацииМаршрута", Новый ОписаниеТипов("Строка"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Коэффициент", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 3)));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ВыходныеИзделия.Колонки.Добавить("МинимальнаяПартия", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Кратность", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ВыходныеИзделия.Колонки.Добавить("ДоляСтоимости", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("ТочкаМаршрута", Новый ОписаниеТипов("СправочникСсылка.ТочкиМаршрута"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
				//Результат.ВыходныеИзделия.Колонки.Добавить("РабочийЦентр", ПолучитьТипКолонкиРабочийЦентр());
			}
			if(true/*Результат.Свойство("ИсходныеКомплектующие") И Результат.ИсходныеКомплектующие = Неопределено*/)
			{
				//Результат.ИсходныеКомплектующие = Новый ТаблицаЗначений;
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Разузлован", Новый ОписаниеТипов("Булево"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("НомерОперацииМаршрута", Новый ОписаниеТипов("Строка"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Коэффициент", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 3)));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("МинимальнаяПартия", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Кратность", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("СтатьяЗатрат", Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("ВидВоспроизводства", Новый ОписаниеТипов("ПеречислениеСсылка.ВидыВоспроизводстваНоменклатуры"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("СписаниеКомплектующей", Новый ОписаниеТипов("ПеречислениеСсылка.ВариантыСписанияКомплектующих"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("ТочкаМаршрута", Новый ОписаниеТипов("СправочникСсылка.ТочкиМаршрута"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
				//Результат.ИсходныеКомплектующие.Колонки.Добавить("РабочийЦентр", ПолучитьТипКолонкиРабочийЦентр());
			}
			if(true/*Результат.Свойство("ВозвратныеОтходы") И Результат.ВозвратныеОтходы = Неопределено*/)
			{
				//Результат.ВозвратныеОтходы = Новый ТаблицаЗначений;
				//Результат.ВозвратныеОтходы.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("НомерОперацииМаршрута", Новый ОписаниеТипов("Строка"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("Коэффициент", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 3)));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("СуммаРегл", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("СтатьяЗатрат", Новый ОписаниеТипов("СправочникСсылка.СтатьиЗатрат"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("СписаниеКомплектующей", Новый ОписаниеТипов("ПеречислениеСсылка.ВариантыСписанияКомплектующих"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("ТочкаМаршрута", Новый ОписаниеТипов("СправочникСсылка.ТочкиМаршрута"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
				//Результат.ВозвратныеОтходы.Колонки.Добавить("РабочийЦентр", ПолучитьТипКолонкиРабочийЦентр());
			}
			if(true/*(Параметры.РазмещатьВСопутствующихИзделиях И (НЕ Результат.Свойство("СопутствующиеИзделия") ИЛИ Результат.Свойство("СопутствующиеИзделия") И Результат.СопутствующиеИзделия = Неопределено)) ИЛИ (Результат.Свойство("СопутствующиеИзделия") И Результат.СопутствующиеИзделия = Неопределено)*/)
			{
				if(true/*НЕ Результат.Свойство("СопутствующиеИзделия")*/)
				{
					//Результат.Вставить("СопутствующиеИзделия");
				}
				//Результат.СопутствующиеИзделия = Новый ТаблицаЗначений;
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Разузлован", Новый ОписаниеТипов("Булево"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("СопутствующееИзделие", Новый ОписаниеТипов("Булево"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("НомерОперацииМаршрута", Новый ОписаниеТипов("Строка"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("НоменклатурнаяГруппа", Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("ХарактеристикаНоменклатуры", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("ЕдиницаИзмерения", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Коэффициент", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 3)));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("МинимальнаяПартия", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Кратность", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("ДоляСтоимости", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Спецификация", Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("ТочкаМаршрута", Новый ОписаниеТипов("СправочникСсылка.ТочкиМаршрута"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("РабочийЦентр", ПолучитьТипКолонкиРабочийЦентр());
				//Результат.СопутствующиеИзделия.Колонки.Добавить("ИсходноеКоличество", Новый ОписаниеТипов("Число"));
				//Результат.СопутствующиеИзделия.Колонки.Добавить("КоэффициентПриведения", Новый ОписаниеТипов("Число"));
			}
		}
		// ИнициализацияРезультатаРазузлования()

		public void ИнициализацияПараметров(/*Параметры*/)
		{
			if(true/*Параметры = Неопределено ИЛИ ТипЗнч(Параметры) <> Тип("Структура")*/)
			{
				//Параметры = Новый Структура;
			}
			if(true/*НЕ Параметры.Свойство("ПараметрыВыпуска")*/)
			{
				//Параметры.Вставить("ПараметрыВыпуска");
			}
			if(true/*НЕ Параметры.Свойство("КоличествоУровнейРазузлования")*/)
			{
				//Параметры.Вставить("КоличествоУровнейРазузлования", 0);
			}
			if(true/*НЕ Параметры.Свойство("ДатаСпецификации")*/)
			{
				//Параметры.Вставить("ДатаСпецификации", ТекущаяДата());
			}
			if(true/*НЕ Параметры.Свойство("Отбор")*/)
			{
				//Параметры.Вставить("Отбор", Новый Структура);
			}
			if(true/*НЕ Параметры.Свойство("РазмещатьВСопутствующихИзделиях")*/)
			{
				//Параметры.Вставить("РазмещатьВСопутствующихИзделиях", Ложь);
			}
		}
		// ИнициализацияПараметров()

		public void ДобавитьВОшибки(/*СтатусОшибки, Причина, ОписаниеОшибки, Спецификация, НомерСтрокиСпецификации, Последовательность, МассивОшибок*/)
		{
			/*МассивОшибок.Добавить(Новый Структура(
	"СтатусОшибки,
	|Причина,
	|ОписаниеОшибки,
	|Спецификация,
	|НомерСтроки,
	|Последовательность",
	СтатусОшибки,
	Причина,
	ОписаниеОшибки,
	Спецификация,
	НомерСтрокиСпецификации,
	Последовательность));*/
		}
		// ДобавитьВОшибки()
	}
}
